package com.example.moblie2030606150cjk0601;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ShareActionProvider;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
/*
1定义sp对象
2给复选框设置状态改变的监听器
3在监听器处理单元中保存选择状态
4读取选择状态并赋值给控件
5给登录按钮添加监听事件读取输入的账号密码

*/
    private EditText edtTxtMainUserName;
    private EditText edtTxtMainPassword;
    private CheckBox chkBoxMainPSW;
    private CheckBox chkBoxMainName;
    private Button btnMainLogin;
    private Button btnMainReset;
    private SharedPreferences sp;//声明对象

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        sp = getSharedPreferences("login", MODE_PRIVATE);
        chkBoxMainName.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean b) {
                SharedPreferences.Editor editor = sp.edit();//sp编辑器
                editor.putBoolean("chkName",b);//选择状态布尔数据存入sp中
                editor.commit();//提交
            }
        });
        btnMainLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String userName = edtTxtMainUserName.getText().toString().trim();
                String password = edtTxtMainPassword.getText().toString().trim();
                if (userName.equals("admin")&&password.equals("admin")) {
                    if (chkBoxMainName.isChecked()) {
                        SharedPreferences.Editor editor = sp.edit();
                        editor.putString("userName", userName);
                        editor.commit();
                    }
                    if (chkBoxMainPSW.isChecked()) {
                        SharedPreferences.Editor editor = sp.edit();
                        editor.putString("password", password);
                        editor.commit();
                    }
                }
            }
        });
        chkBoxMainPSW.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean b) {
                SharedPreferences.Editor editor = sp.edit();
                editor.putBoolean("chkPSW",b);
                editor.commit();
                if (b) {
                    chkBoxMainName.setChecked(true);
                    chkBoxMainName.setEnabled(false);
                } else {
                    chkBoxMainName.setEnabled(true);
                }
            }
        });
    }

    @Override
    protected void onStart() {
        super.onStart();
        boolean chkName = sp.getBoolean("chkNaem", false);
        chkBoxMainName.setChecked(chkName);
        boolean chkPSW = sp.getBoolean("chkPSW", false);
        chkBoxMainPSW.setChecked(chkPSW);
        if (chkName) {
            edtTxtMainUserName.setText(sp.getString("userName",null));
        }
        if (chkPSW) {
            edtTxtMainPassword.setText(sp.getString("password",null));
        }

    }

    private void initView() {

        edtTxtMainUserName = (EditText) findViewById(R.id.edtTxtMainUserName);
        edtTxtMainPassword = (EditText) findViewById(R.id.edtTxtMainPassword);
        chkBoxMainPSW = (CheckBox) findViewById(R.id.chkBoxMainPSW);
        chkBoxMainName = (CheckBox) findViewById(R.id.chkBoxMainName);
        btnMainLogin = (Button) findViewById(R.id.btnMainLogin);
        btnMainReset = (Button) findViewById(R.id.btnMainReset);
    }
}